<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN">
<html>
	<head>
		<script src="../../../Grid/GridE.js"> </script>
		<style>
         /* Examples shared styles */
         .ExampleHeader,.ExampleName,.ExampleShort,.ExampleDesc,.ExampleErr { max-height:999999px; }
         .ExampleHeader { font:normal 12px Arial; color:blue; }
         .ExampleHeader b { color:#800; }
         .ExampleHeader i { font-style:normal; font-weight:bold; color:black; }
         .ExampleHeader u { font-weight:bold; text-decoration:none; padding:0px 2px 0px 2px; color:#0B0; }
         .ExampleName { font:bold 30px Arial; padding:5px 0px 5px 0px; }
         .ExampleShort { font:italic 15px Arial; margin-bottom:10px; padding-top:5px; }
         .ExampleDesc { font:14px/17px Arial; margin:0px 5px 10px 5px; padding:5px; border:1px solid #AAA; }
         .ExampleErr { font:14px/30px Arial; margin:50px auto 10px auto; padding:5px; border:1px solid black; color:red; width:800px; text-align:center; display:none; }
         .ExampleBorder { margin:0px 5px 0px 5px; clear:both; zoom:1; }
         .ExampleDesc ul { padding:0px 0px 0px 15px; margin:10px 0px 0px 0px; }
         .ExampleDesc li { padding-bottom:8px; line-height:18px; }
         .ExampleDesc h4 { font:bold 15px/20px Arial; margin:0px; padding:0px 6px 0px 6px; background:#87DAE5; border:1px solid #888; color:black; display:inline; }
         .ExampleDesc u { font-size:11px; text-decoration:none; }
         .ExampleDesc .Link { text-decoration:underline; color:blue; cursor:pointer; }
         .ExampleMain { height:300px; }
         @media (max-height:800px) { 
            .ExampleDesc { font-size:13px; line-height:15px; margin:0px 5px 5px 5px; padding:3px 5px; } 
            .ExampleDesc br { display:none; }
            .ExampleName { font:20px Arial; padding:0px; }
            .ExampleShort { font-size:13px; }
            }
      </style>
	</head>
	<body>
      <center class="ExampleHeader"><script>document.write(location.href.replace(/(.*)(\/Examples\/|\/ExamplesGantt\/)([^\/]+)\/([^\/]+)\/([^\/]+)$/,"$2<b>$3</b>/<i>$4</i>/$5").replace(/([^<]|^)(\/|\.)/g,"$1<u>$2</u>"));</script></center>
      <center class="ExampleName">Server side paging with DLL on SQL database</center>
      <center class="ExampleShort">Using <b>TreeGrid server library</b> for server side paging upon SQL database via .NET <b>DataTable</b> class and <b>DbDataAdapter</b> interface</center>
      <div class="ExampleErr">
         <script> if(location.protocol=="file:") document.write("<style>.ExampleDesc, .ExampleBorder {display:none;} .ExampleErr { display:block; } </style>"); </script>
         Do <b>not</b> run this file locally!<br />Run it from your local or remote web http server where is installed IIS and ASP.NET (1.0, 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, ...).<br>
      </div>
      <div class="ExampleDesc">
         <i>Source files:</i> <h4>DataTable.html</h4> (this html page), <a href="DBDef.xml" target="_blank"><h4>DBDef.xml</h4></a> (static XML layout), 
         <a href="DataTable.aspx" target="_blank"><h4>DataTable.aspx</h4></a> (server script generates and processes XML data and generates XLS export; uses the TreeGrid.dll/so), 
         <h4>../Database.db</h4> (source SQL database, table <b>TableData</b>)<br />
         <h4>TreeGrid.dll</h4> or <h4>TreeGrid.so</h4> library located in package root directory <b>/Server/TreeGrid32/</b> or <b>/Server/TreeGrid64</b> depending on server system. 
         This library is used in DataTable.aspx.
         <h4>tmp/</h4> directory can be used for temporary data to free ASP.NET memory.
      </div>
      <div class="ExampleDesc">
         This example uses <h4>SQLite</h4> <b>../Database.db</b> file as source SQL database.</h4>
         You can switch to <h4>MS Access</h4> <b>MDB database</b> by setting <b>UseMDB</b> property to true in DataTable.aspx. <br />
         <u>
            The MS Access MDB database can be used only in <span class="Link" onclick="document.getElementById('32bitIIS').style.display='';this.className='';"><b>32bit</b> mode of IIS</span>. 
            Also the ASP.NET service program must have <b>write</b> access to the Database.mdb file.<br />
            <i id="32bitIIS" style="display:none">
               To permit 32bit application on 64bit IIS, go to IIS manager, display application pools list (usually in root under computer name).
               Choose DefaultAppPool (or the pool you use for the ASP.NET applications the TreeGrid examples are run on), select Advanced configuration and set Permit 32bit application to true.
            </i>
         </u>
      </div>
      <div class="ExampleDesc">
         This example demonstrates using <a href="../../../Doc/DLL.htm"><h4>TreeGrid server side DLL / SO</h4></a> library
            for <b>server</b> side <b>paging</b>, <b>calculations</b>, <b>grouping</b>, <b>sorting</b>, <b>filtering</b>, <b>Excel export</b> and <b>updates</b>.<br>
         It uses generic ASP.NET <b>DataTable</b> and <b>DbDataAdapter</b> classes for SQL database access.<br>
         This example loads all data from database and fills them to TreeGrid DLL and uses it for generating data, pages and export for client.
         Uploaded changes are sent to both database and TreeGrid DLL to be synchronized.<br>
      </div>
      <div class="ExampleBorder">
         <div class="ExampleMain">
			   <bdo Debug="problem" 
			      Layout_Url="DBDef.xml" 
			
               Data_Url="DataTable.aspx"
               Data_Method='Form'
               Data_Format='Internal'
               Data_Param_Function='LoadBody'
               Data_Param_Def='DBDef.xml'
               Data_Param_Table='TableData'
               Data_Data='Data'

               Page_Url='DataTable.aspx' 
               Page_Format='Internal'
               Page_Method='Form'
               Page_Param_Function='LoadPage'
               Page_Param_Def='DBDef.xml'
               Page_Param_Table='TableData'
               Page_Data='Data'
           
               Upload_Url='DataTable.aspx' 
               Upload_Format='Internal'
               Upload_Method='Form'
               Upload_Param_Function='Save'
               Upload_Param_Def='DBDef.xml'
               Upload_Param_Table='TableData'
               Upload_Data='Data'

               Export_Url='DataTable.aspx' 
               Export_Format='Internal'
               Export_Method='Form'
               Export_Param_Function='Export'
               Export_Param_Def='DBDef.xml'
               Export_Param_Table='TableData'
               Export_Data='Data'
               Export_Type='Settings,Changes'
			
			   ></bdo>
   		</div>
		</div>

      <!-- Google Analytics code run once for trial -->
      <script>
         var TGTrial = document.cookie.match(/TGTrialVB\s*=\s*(\d+)/), TGIndex = 0x100000;
         if(!TGTrial||!(TGTrial[1]&TGIndex)) setTimeout(function(){
            var n = "RunTrialVBDataTablePaging", d = (new Date((new Date).getTime()+31536000000)).toUTCString(); document.cookie = "TGTrialVB="+((TGTrial?TGTrial[1]:0)|TGIndex)+";expires="+d;
            var u = document.cookie.match(/TGTrialUsed\s*=\s*(\d+)/); u = u ? u[1]-0+1 : 1; if(u<=11) document.cookie = "TGTrialUsed="+u+";path=/;expires="+d;
            var s = "<div style='width:0px;height:0px;overflow:hidden;'><iframe src='http"+(document.location.protocol=="https"?"s":"")+"://www.treegrid.com/Stat/GA.html?productName="
                 +(u==1||u==3||u==5||u==10?"UsedTrial"+u:n)+"' onload='var T=this;setTimeout(function(){document.body.removeChild(T.parentNode.parentNode);},1000);'/></div>";
            var F = document.createElement("div"); F.innerHTML = s; document.body.appendChild(F);
            },100);
      </script>

	</body>
</html>
